@echo off
REM FFmpeg安装脚本 - Windows版本

echo ================================
echo    FFmpeg安装脚本
echo ================================
echo.

REM 检查是否已安装FFmpeg
where ffmpeg >nul 2>&1
if %errorlevel% equ 0 (
    echo FFmpeg已安装
    ffmpeg -version
    pause
    exit /b 0
)

echo 正在下载FFmpeg...

REM 创建临时目录
set TEMP_DIR=%TEMP%\ffmpeg_install
if not exist "%TEMP_DIR%" mkdir "%TEMP_DIR%"

REM 下载FFmpeg（使用官方构建）
echo 从官方源下载FFmpeg...
curl -L -o "%TEMP_DIR%\ffmpeg.zip" "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip"

if %errorlevel% neq 0 (
    echo 下载失败，请检查网络连接
    pause
    exit /b 1
)

REM 解压文件
echo 解压FFmpeg...
powershell -Command "Expand-Archive -Path '%TEMP_DIR%\ffmpeg.zip' -DestinationPath '%TEMP_DIR%' -Force"

REM 查找解压后的目录
for /d %%i in ("%TEMP_DIR%\ffmpeg-*") do set FFMPEG_DIR=%%i

if not exist "%FFMPEG_DIR%" (
    echo 解压失败
    pause
    exit /b 1
)

REM 复制到系统目录
echo 安装FFmpeg到系统目录...

REM 检查是否有管理员权限
net session >nul 2>&1
if %errorlevel% equ 0 (
    REM 有管理员权限，安装到Program Files
    set INSTALL_DIR=%ProgramFiles%\ffmpeg
    xcopy "%FFMPEG_DIR%\bin\*" "%INSTALL_DIR%" /Y /I
    
    REM 添加到系统PATH
    setx PATH "%PATH%;%INSTALL_DIR%" /M
) else (
    REM 无管理员权限，安装到用户目录
    set INSTALL_DIR=%USERPROFILE%\ffmpeg
    xcopy "%FFMPEG_DIR%\bin\*" "%INSTALL_DIR%" /Y /I
    
    REM 添加到用户PATH
    setx PATH "%PATH%;%INSTALL_DIR%"
)

REM 清理临时文件
rmdir /s /q "%TEMP_DIR%"

echo.
echo ================================
echo   FFmpeg安装完成！
echo ================================
echo.
echo FFmpeg已安装到: %INSTALL_DIR%
echo.
echo 请重新启动命令行窗口使PATH变更生效
echo.

REM 验证安装
where ffmpeg >nul 2>&1
if %errorlevel% equ 0 (
    echo 验证安装...
    ffmpeg -version
    echo.
    echo 安装成功！
) else (
    echo 安装可能有问题，请手动检查
)

pause